1. Field of the Invention
The present invention relates to a method, system, and program for managing accesses to data objects by multiple user programs over a network.
2. Description of the Related Art
In network environments where multiple users can access a single file, the file system includes a locking scheme to manage access to a file to maintain data integrity and avoid consistency problems by preventing two or more users from simultaneously modifying a file. Many application programs, such as database programs, also employ a locking scheme to maintain data integrity by preventing multiple users from modifying application data in a manner that will harm data consistency. For instance, database programs perform locking on a record-by-record basis to prevent multiple users from simultaneously modifying the same record.
In many systems, once a user has an exclusive lock on a file, that user can prevent others from modifying the file for a significant amount of time until the user releases the lock. One problem with such systems is that after obtaining a lock, the user may delay performing the intended modification and during such delay prevent other applications from modifying the data.
Moreover, locking schemes also require that the file system or application program manage various data structures to keep track of the users that maintain a lock and other users that should receive the lock upon its release, as well as timeout a lock if the holder of the lock has not performed any action within a predetermined time period. The burden of managing locks increases as the number of files or records that can be separately locked increases.
For all these reasons, there is a need in the art for improved data object locking schemes.